package ControlLayer;
import java.util.ArrayList;
import ModelLayer.*;

/**
 * Write a description of class VarerCtr here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class VarerCtr
{
    private static VarerCtr instance;
    private VarerContainer varerContainer;
    private Varer varer;

    /**
     * Constructor for objects of class VarerCtr
     */
    public VarerCtr()
    {
        varerContainer = VarerContainer.getInstance();
    }

    /**
     * Henter instancen for varerContainer
     * @return VarerContainer Instance
     */ 
    public static VarerCtr getInstance()
    {
        if (instance == null)
            instance = new VarerCtr();

        return instance;

    }

     /**
     * Finder en vare
     * @param int id
     */ 
    public Varer findVare(int id)
    {
        return varerContainer.findVare(id);
    }

     /**
     * Opretter en vare
     * @param int id, String beskrivelse, String vareNavn, double pris
     */ 
    public void opretVare(int id, String beskrivelse, String vareNavn, double pris)
    {
        Varer v = new Varer(id, beskrivelse, vareNavn, pris);
        varerContainer.tilfoejVarer(v);
    }

     /**
     * Fjerner en vare
     * @param int id
     */ 
    public void fjernVare(int id)
    {
        varerContainer.fjernVare(id);
    }

     /**
     * Lister alle varerene i ArrayListen
     * @return ArrayList<Varer>
     */ 
    public ArrayList<Varer> listAllevarer()
    {
        return varerContainer.printAlleVarer();
    }

     /**
     * Opretter et vare eksemplar
     * @param Varer varer, long serienummer, double indkoebspris
     */ 
    public void opretVareEksemplar(Varer varer, long serienummer, double indkoebspris)
    {
        varer.tilfoejEksemplar(serienummer, indkoebspris);
    }

     /**
     * Fjerner et vare eksemplar
     * @param long serienummer
     */ 
    public boolean fjernVareEksemplar(long serienummer)
    {
        return varerContainer.fjernVareEksemplar(serienummer);
    }
}
